//package com.kingyea.mobilepolice.zuul.fallbacks;
//
//import com.kingyea.mobilepolice.zuul.utils.Result;
//import com.kingyea.mobilepolice.zuul.utils.StateCode;
//import org.springframework.cloud.netflix.zuul.filters.route.ZuulFallbackProvider;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.MediaType;
//import org.springframework.http.client.ClientHttpResponse;
//import org.springframework.stereotype.Component;
//
//import java.io.ByteArrayInputStream;
//import java.io.InputStream;
//
///**
// * Created by wiselyman on 2017/5/4.
// */
//
//@Component
//public class ServiceFallbackProvider implements ZuulFallbackProvider {
//    @Override
//    public String getRoute() {
//        return "*";
//    }
//
//    @Override
//    public ClientHttpResponse fallbackResponse() {
//        return new ClientHttpResponse() {
//            @Override
//            public HttpStatus getStatusCode() {
//                return HttpStatus.OK;
//            }
//
//            @Override
//            public int getRawStatusCode() {
//                return 200;
//            }
//
//            @Override
//            public String getStatusText() {
//                return "OK";
//            }
//
//            @Override
//            public void close() {
//
//            }
//
//            @Override
//            public InputStream getBody() {
//                Result result = new Result<>();
//                result.setCode(StateCode.SERVER_MISSING_ERROR);
//                result.setMsg(StateCode.getMsg(StateCode.SERVER_MISSING_ERROR));
//                return new ByteArrayInputStream(result.toString().getBytes());
//            }
//
//            @Override
//            public HttpHeaders getHeaders() {
//                HttpHeaders headers = new HttpHeaders();
//                headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
//                return headers;
//            }
//        };
//    }
//
//}
